Release 10.1A: OpenEdge Development:
Progress 4GL Reference


DEFINE DATA-SOURCE statement

Defines a static data-source object that is created at compile time.

Syntax

DEFINE DATA-SOURCE [ PRIVATE | PROTECTED ] data-source-name 
    FOR [ QUERY query-name ] 
  [ source-buffer-phrase [ , source-buffer-phrase ] ... ] 

[ PRIVATE | PROTECTED ] DATA-SOURCE data-source-name

Defines and identifies a data-source object as a data member for a class, and optionally specifies an access mode for that data member. Do not specify an access mode when defining a data-source object for a method within a class.

PRIVATE data members can be accessed only by the defining class. PROTECTED data members can be accessed by the defining class and any of its inheriting classes. The default access mode is PRIVATE.

Note: These options are applicable only when defining a data member for a class in a class definition (.cls) file.

DATA-SOURCE data-source-name FOR

Identifies the name of the data-source object for the specified query or database buffers. You can define the data-source object in a procedure or a method within a class.

[ QUERY query-name ]

Specifies a query that defines the buffers for the data-source object. Use this option to override the default query for the data-source object.

You can also use the QUERY attribute to override the default query, or the FILL-WHERE-STRING attribute to override the WHERE clause in the query.

source-buffer-phrase [ source-buffer-phrase ] ...

Specifies one or more database buffers for the data-source object using the following syntax:

buffer-name [ KEYS ( { field1 [ , fieldn ]... | ROWID } ) ]  

buffer-name

The name of the database buffer.

KEYS ( { field1 [ , fieldn ]... | ROWID } )

Specifies one or more database table fields that constitute a unique key that can be used by Progress to find a record in the table given a record in the temp-table that uses it as a data source.

The ROWID keyword can occur exactly once in place of a field list to use the ROWID as the key.

Note: Using ROWID as the key is not currently supported.

See also

CREATE DATA-SOURCE statement, Data-source object handle, FILL( ) method, FILL-WHERE-STRING attribute, QUERY attribute


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095